/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2021 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.unicons;

import org.kordamp.ikonli.Ikon;

/**
 * @author Andres Almiray
 */
public enum UniconsMonochrome implements Ikon {
    UNIM_500PX("unim-500px", '\ue900'),
    ADOBE("unim-adobe", '\ue902'),
    ADOBE_ALT("unim-adobe-alt", '\ue901'),
    AIRPLAY("unim-airplay", '\ue903'),
    ALIGN("unim-align", '\ue90d'),
    ALIGN_ALT("unim-align-alt", '\ue904'),
    ALIGN_CENTER("unim-align-center", '\ue906'),
    ALIGN_CENTER_JUSTIFY("unim-align-center-justify", '\ue905'),
    ALIGN_JUSTIFY("unim-align-justify", '\ue907'),
    ALIGN_LEFT("unim-align-left", '\ue909'),
    ALIGN_LEFT_JUSTIFY("unim-align-left-justify", '\ue908'),
    ALIGN_LETTER_RIGHT("unim-align-letter-right", '\ue90a'),
    ALIGN_RIGHT("unim-align-right", '\ue90c'),
    ALIGN_RIGHT_JUSTIFY("unim-align-right-justify", '\ue90b'),
    AMAZON("unim-amazon", '\ue90e'),
    ANALYSIS("unim-analysis", '\ue90f'),
    ANALYTICS("unim-analytics", '\ue910'),
    ANCHOR("unim-anchor", '\ue911'),
    ANDROID("unim-android", '\ue913'),
    ANDROID_ALT("unim-android-alt", '\ue912'),
    ANGLE_DOUBLE_DOWN("unim-angle-double-down", '\ue914'),
    ANGLE_DOUBLE_LEFT("unim-angle-double-left", '\ue915'),
    ANGLE_DOUBLE_RIGHT("unim-angle-double-right", '\ue916'),
    ANGLE_DOUBLE_UP("unim-angle-double-up", '\ue917'),
    ANGLE_DOWN("unim-angle-down", '\ue918'),
    ANGLE_LEFT("unim-angle-left", '\ue919'),
    ANGLE_RIGHT("unim-angle-right", '\ue91b'),
    ANGLE_RIGHT_B("unim-angle-right-b", '\ue91a'),
    ANGLE_UP("unim-angle-up", '\ue91c'),
    APPLE("unim-apple", '\ue91e'),
    APPLE_ALT("unim-apple-alt", '\ue91d'),
    APPS("unim-apps", '\ue91f'),
    ARROW_CIRCLE_DOWN("unim-arrow-circle-down", '\ue920'),
    ARROW_CIRCLE_LEFT("unim-arrow-circle-left", '\ue921'),
    ARROW_CIRCLE_RIGHT("unim-arrow-circle-right", '\ue922'),
    ARROW_CIRCLE_UP("unim-arrow-circle-up", '\ue923'),
    ARROW_DOWN_LEFT("unim-arrow-down-left", '\ue924'),
    ARROW_DOWN_RIGHT("unim-arrow-down-right", '\ue925'),
    ARROW_UP_LEFT("unim-arrow-up-left", '\ue926'),
    ARROW_UP_RIGHT("unim-arrow-up-right", '\ue927'),
    AT("unim-at", '\ue928'),
    BAG("unim-bag", '\ue929'),
    BARS("unim-bars", '\ue92a'),
    BATTERY_BOLT("unim-battery-bolt", '\ue92b'),
    BATTERY_EMPTY("unim-battery-empty", '\ue92c'),
    BEHANCE("unim-behance", '\ue92e'),
    BEHANCE_ALT("unim-behance-alt", '\ue92d'),
    BING("unim-bing", '\ue92f'),
    BITCOIN("unim-bitcoin", '\ue931'),
    BITCOIN_ALT("unim-bitcoin-alt", '\ue930'),
    BLACKBERRY("unim-blackberry", '\ue932'),
    BLOGGER("unim-blogger", '\ue934'),
    BLOGGER_ALT("unim-blogger-alt", '\ue933'),
    BOOKMARK("unim-bookmark", '\ue935'),
    BORDER_ALT("unim-border-alt", '\ue936'),
    BORDER_BOTTOM("unim-border-bottom", '\ue937'),
    BORDER_CLEAR("unim-border-clear", '\ue938'),
    BORDER_HORIZONTAL("unim-border-horizontal", '\ue939'),
    BORDER_INNER("unim-border-inner", '\ue93a'),
    BORDER_LEFT("unim-border-left", '\ue93b'),
    BORDER_OUT("unim-border-out", '\ue93c'),
    BORDER_RIGHT("unim-border-right", '\ue93d'),
    BORDER_TOP("unim-border-top", '\ue93e'),
    BORDER_VERTICAL("unim-border-vertical", '\ue93f'),
    BOX("unim-box", '\ue940'),
    BRIEFCASE("unim-briefcase", '\ue941'),
    CALENDER("unim-calender", '\ue942'),
    CHART("unim-chart", '\ue944'),
    CHART_PIE("unim-chart-pie", '\ue943'),
    CHECK("unim-check", '\ue948'),
    CHECK_SQUARE("unim-check-square", '\ue947'),
    CIRCLE("unim-circle", '\ue94a'),
    CIRCLE_LAYER("unim-circle-layer", '\ue949'),
    CLINIC_MEDICAL("unim-clinic-medical", '\ue94b'),
    CLOCK("unim-clock", '\ue953'),
    CLOCK_EIGHT("unim-clock-eight", '\ue94c'),
    CLOCK_FIVE("unim-clock-five", '\ue94d'),
    CLOCK_NINE("unim-clock-nine", '\ue94e'),
    CLOCK_SEVEN("unim-clock-seven", '\ue94f'),
    CLOCK_TEN("unim-clock-ten", '\ue950'),
    CLOCK_THREE("unim-clock-three", '\ue951'),
    CLOCK_TWO("unim-clock-two", '\ue952'),
    COLUMNS("unim-columns", '\ue954'),
    COMMENT("unim-comment", '\ue95c'),
    COMMENT_ALT("unim-comment-alt", '\ue958'),
    COMMENT_ALT_DOTS("unim-comment-alt-dots", '\ue955'),
    COMMENT_ALT_MESSAGE("unim-comment-alt-message", '\ue956'),
    COMMENT_ALT_PLUS("unim-comment-alt-plus", '\ue957'),
    COMMENT_DOTS("unim-comment-dots", '\ue959'),
    COMMENT_MESSAGE("unim-comment-message", '\ue95a'),
    COMMENT_PLUS("unim-comment-plus", '\ue95b'),
    COMPRESS("unim-compress", '\ue95d'),
    CORNER_DOWN_LEFT("unim-corner-down-left", '\ue95e'),
    CORNER_DOWN_RIGHT("unim-corner-down-right", '\ue95f'),
    CORNER_LEFT_DOWN("unim-corner-left-down", '\ue960'),
    CORNER_RIGHT_DOWN("unim-corner-right-down", '\ue961'),
    CORNER_UP_LEFT("unim-corner-up-left", '\ue962'),
    CORNER_UP_RIGHT("unim-corner-up-right", '\ue963'),
    CORONAVIRUS("unim-coronavirus", '\ue964'),
    CSS3("unim-css3", '\ue966'),
    CSS3_SIMPLE("unim-css3-simple", '\ue965'),
    CUBE("unim-cube", '\ue967'),
    DIALPAD("unim-dialpad", '\ue969'),
    DIALPAD_ALT("unim-dialpad-alt", '\ue968'),
    DIRECTION("unim-direction", '\ue96a'),
    DISCORD("unim-discord", '\ue96b'),
    DOCUMENT_LAYOUT_CENTER("unim-document-layout-center", '\ue96c'),
    DOCUMENT_LAYOUT_LEFT("unim-document-layout-left", '\ue96d'),
    DOCUMENT_LAYOUT_RIGHT("unim-document-layout-right", '\ue96e'),
    DOWNLOAD_ALT("unim-download-alt", '\ue96f'),
    DRIBBBLE("unim-dribbble", '\ue970'),
    DROPBOX("unim-dropbox", '\ue971'),
    ELLIPSIS_H("unim-ellipsis-h", '\ue972'),
    ELLIPSIS_V("unim-ellipsis-v", '\ue973'),
    ENTRY("unim-entry", '\ue974'),
    EXCLAMATION_CIRCLE("unim-exclamation-circle", '\ue975'),
    EXCLAMATION_OCTAGON("unim-exclamation-octagon", '\ue976'),
    EXCLAMATION_TRIANGLE("unim-exclamation-triangle", '\ue977'),
    EXIT("unim-exit", '\ue978'),
    FACEBOOK("unim-facebook", '\ue97c'),
    FACEBOOK_F("unim-facebook-f", '\ue979'),
    FACEBOOK_MESSENGER("unim-facebook-messenger", '\ue97b'),
    FACEBOOK_MESSENGER_ALT("unim-facebook-messenger-alt", '\ue97a'),
    FAVORITE("unim-favorite", '\ue97d'),
    FLIP_H("unim-flip-h", '\ue97f'),
    FLIP_H_ALT("unim-flip-h-alt", '\ue97e'),
    FLIP_V("unim-flip-v", '\ue981'),
    FLIP_V_ALT("unim-flip-v-alt", '\ue980'),
    GITHUB("unim-github", '\ue983'),
    GITHUB_ALT("unim-github-alt", '\ue982'),
    GOOGLE("unim-google", '\ue989'),
    GOOGLE_DRIVE("unim-google-drive", '\ue985'),
    GOOGLE_DRIVE_ALT("unim-google-drive-alt", '\ue984'),
    GOOGLE_HANGOUTS("unim-google-hangouts", '\ue987'),
    GOOGLE_HANGOUTS_ALT("unim-google-hangouts-alt", '\ue986'),
    GOOGLE_PLAY("unim-google-play", '\ue988'),
    GRAPH_BAR("unim-graph-bar", '\ue98a'),
    GRID("unim-grid", '\ue98b'),
    GRIDS("unim-grids", '\ue98c'),
    GRIP_HORIZONTAL_LINE("unim-grip-horizontal-line", '\ue98d'),
    HEAD_SIDE("unim-head-side", '\ue990'),
    HEAD_SIDE_COUGH("unim-head-side-cough", '\ue98e'),
    HEAD_SIDE_MASK("unim-head-side-mask", '\ue98f'),
    HISTORY("unim-history", '\ue992'),
    HISTORY_ALT("unim-history-alt", '\ue991'),
    HORIZONTAL_ALIGN_LEFT("unim-horizontal-align-left", '\ue993'),
    HOSPITAL("unim-hospital", '\ue996'),
    HOSPITAL_SQUARE_SIGN("unim-hospital-square-sign", '\ue994'),
    HOSPITAL_SYMBOL("unim-hospital-symbol", '\ue995'),
    HOUSE_USER("unim-house-user", '\ue997'),
    HTML3("unim-html3", '\ue999'),
    HTML3_ALT("unim-html3-alt", '\ue998'),
    HTML5("unim-html5", '\ue99b'),
    HTML5_ALT("unim-html5-alt", '\ue99a'),
    IMAGE_V("unim-image-v", '\ue99c'),
    INSTAGRAM("unim-instagram", '\ue99e'),
    INSTAGRAM_ALT("unim-instagram-alt", '\ue99d'),
    INTERCOM("unim-intercom", '\ue9a0'),
    INTERCOM_ALT("unim-intercom-alt", '\ue99f'),
    JAVA_SCRIPT("unim-java-script", '\ue9a1'),
    KEYHOLE_CIRCLE("unim-keyhole-circle", '\ue9a4'),
    KEYHOLE_SQUARE("unim-keyhole-square", '\ue9a6'),
    KEYHOLE_SQUARE_FULL("unim-keyhole-square-full", '\ue9a5'),
    KEY_SKELETON("unim-key-skeleton", '\ue9a3'),
    KEY_SKELETON_ALT("unim-key-skeleton-alt", '\ue9a2'),
    LAYERS_ALT("unim-layers-alt", '\ue9a8'),
    LAYER_GROUP("unim-layer-group", '\ue9a7'),
    LEFT_INDENT("unim-left-indent", '\ue9aa'),
    LEFT_INDENT_ALT("unim-left-indent-alt", '\ue9a9'),
    LINE("unim-line", '\ue9ac'),
    LINE_SPACING("unim-line-spacing", '\ue9ab'),
    LINKEDIN("unim-linkedin", '\ue9af'),
    LINKEDIN_ALT("unim-linkedin-alt", '\ue9ae'),
    LINK_H("unim-link-h", '\ue9ad'),
    LIST_UI_ALT("unim-list-ui-alt", '\ue9b0'),
    LIST_UL("unim-list-ul", '\ue9b1'),
    LOCK("unim-lock", '\ue9b5'),
    LOCK_ACCESS("unim-lock-access", '\ue9b2'),
    LOCK_ALT("unim-lock-alt", '\ue9b3'),
    LOCK_OPEN_ALT("unim-lock-open-alt", '\ue9b4'),
    MASTER_CARD("unim-master-card", '\ue9b6'),
    MEDIUM_M("unim-medium-m", '\ue9b7'),
    MICROSCOPE("unim-microscope", '\ue9b8'),
    MINUS_SQUARE_FULL("unim-minus-square-full", '\ue9b9'),
    MULTIPLY("unim-multiply", '\ue9ba'),
    OBJECT_GROUP("unim-object-group", '\ue9bb'),
    OBJECT_UNGROUP("unim-object-ungroup", '\ue9bc'),
    OPERA("unim-opera", '\ue9be'),
    OPERA_ALT("unim-opera-alt", '\ue9bd'),
    PADLOCK("unim-padlock", '\ue9bf'),
    PAPERCLIP("unim-paperclip", '\ue9c0'),
    PARAGRAPH("unim-paragraph", '\ue9c1'),
    PAYPAL("unim-paypal", '\ue9c2'),
    PENTAGON("unim-pentagon", '\ue9c3'),
    PLUS_SQUARE("unim-plus-square", '\ue9c4'),
    POLYGON("unim-polygon", '\ue9c5'),
    PREVIOUS("unim-previous", '\ue9c6'),
    PROCESS("unim-process", '\ue9c7'),
    REACT("unim-react", '\ue9c8'),
    RECORD_AUDIO("unim-record-audio", '\ue9c9'),
    REDDIT_ALIEN_ALT("unim-reddit-alien-alt", '\ue9ca'),
    REDO("unim-redo", '\ue9cb'),
    REFRESH("unim-refresh", '\ue9cc'),
    REPEAT("unim-repeat", '\ue9cd'),
    RIGHT_INDENT_ALT("unim-right-indent-alt", '\ue9ce'),
    ROCKET("unim-rocket", '\ue9cf'),
    RULER("unim-ruler", '\ue9d1'),
    RULER_COMBINED("unim-ruler-combined", '\ue9d0'),
    SANITIZER("unim-sanitizer", '\ue9d3'),
    SANITIZER_ALT("unim-sanitizer-alt", '\ue9d2'),
    SCENERY("unim-scenery", '\ue9d4'),
    SCHEDULE("unim-schedule", '\ue9d5'),
    SHIELD_PLUS("unim-shield-plus", '\ue9d6'),
    SIGNAL_ALT("unim-signal-alt", '\ue9db'),
    SIGNAL_ALT_3("unim-signal-alt-3", '\ue9da'),
    SIGNIN("unim-signin", '\ue9dc'),
    SIGNOUT("unim-signout", '\ue9dd'),
    SIGN_IN("unim-sign-in", '\ue9d8'),
    SIGN_IN_ALT("unim-sign-in-alt", '\ue9d7'),
    SIGN_OUT_ALT("unim-sign-out-alt", '\ue9d9'),
    SKYPE("unim-skype", '\ue9df'),
    SKYPE_ALT("unim-skype-alt", '\ue9de'),
    SLACK("unim-slack", '\ue9e1'),
    SLACK_ALT("unim-slack-alt", '\ue9e0'),
    SNAPCHAT_ALT("unim-snapchat-alt", '\ue9e2'),
    SNAPCHAT_GHOST("unim-snapchat-ghost", '\ue9e3'),
    SNAPCHAT_SQUARE("unim-snapchat-square", '\ue9e4'),
    SOCIAL_DISTANCING("unim-social-distancing", '\ue9e5'),
    SORTING("unim-sorting", '\ue9e6'),
    SPACE_KEY("unim-space-key", '\ue9e7'),
    SQUARE("unim-square", '\ue9ea'),
    SQUARE_FULL("unim-square-full", '\ue9e8'),
    SQUARE_SHAPE("unim-square-shape", '\ue9e9'),
    SQURE_SHAPE("unim-squre-shape", '\ue9eb'),
    STAR("unim-star", '\ue9ed'),
    STAR_HALF_ALT("unim-star-half-alt", '\ue9ec'),
    STEP_FORWARD("unim-step-forward", '\ue9ee'),
    STETHOSCOPE("unim-stethoscope", '\ue9f0'),
    STETHOSCOPE_ALT("unim-stethoscope-alt", '\ue9ef'),
    STORE_SLASH("unim-store-slash", '\ue9f1'),
    SUBJECT("unim-subject", '\ue9f2'),
    SWIGGY("unim-swiggy", '\ue9f3'),
    SYNC_EXCLAMATION("unim-sync-exclamation", '\ue9f4'),
    SYNC_SLASH("unim-sync-slash", '\ue9f5'),
    TABLE("unim-table", '\ue9f6'),
    TELEGRAM("unim-telegram", '\ue9f8'),
    TELEGRAM_ALT("unim-telegram-alt", '\ue9f7'),
    TH_LARGE("unim-th-large", '\ue9f9'),
    TIMES_CIRCLE("unim-times-circle", '\ue9fa'),
    TOGGLE_OFF("unim-toggle-off", '\ue9fb'),
    TOGGLE_ON("unim-toggle-on", '\ue9fc'),
    TOILET_PAPER("unim-toilet-paper", '\ue9fd'),
    TRIANGLE("unim-triangle", '\ue9fe'),
    TUMBLR("unim-tumblr", '\uea01'),
    TUMBLR_ALT("unim-tumblr-alt", '\ue9ff'),
    TUMBLR_SQUARE("unim-tumblr-square", '\uea00'),
    TWITTER("unim-twitter", '\uea03'),
    TWITTER_ALT("unim-twitter-alt", '\uea02'),
    UNLOCK("unim-unlock", '\uea05'),
    UNLOCK_ALT("unim-unlock-alt", '\uea04'),
    UPLOAD_ALT("unim-upload-alt", '\uea06'),
    USER_ARROWS("unim-user-arrows", '\uea07'),
    USER_MD("unim-user-md", '\uea08'),
    USER_NURSE("unim-user-nurse", '\uea09'),
    VECTOR_SQUARE("unim-vector-square", '\uea0b'),
    VECTOR_SQUARE_ALT("unim-vector-square-alt", '\uea0a'),
    VIRUS_SLASH("unim-virus-slash", '\uea0c'),
    VISUAL_STUDIO("unim-visual-studio", '\uea0d'),
    VK("unim-vk", '\uea0f'),
    VK_ALT("unim-vk-alt", '\uea0e'),
    VUEJS("unim-vuejs", '\uea11'),
    VUEJS_ALT("unim-vuejs-alt", '\uea10'),
    WEB_GRID("unim-web-grid", '\uea13'),
    WEB_GRID_ALT("unim-web-grid-alt", '\uea12'),
    WEB_SECTION("unim-web-section", '\uea15'),
    WEB_SECTION_ALT("unim-web-section-alt", '\uea14'),
    WHATSAPP("unim-whatsapp", '\uea16'),
    WINDOW_GRID("unim-window-grid", '\uea17'),
    WINDOW_MAXIMIZE("unim-window-maximize", '\uea18'),
    WINDOW_SECTION("unim-window-section", '\uea19'),
    WORDPRESS("unim-wordpress", '\uea1b'),
    WORDPRESS_SIMPLE("unim-wordpress-simple", '\uea1a'),
    WRAP_TEXT("unim-wrap-text", '\uea1c'),
    YOUTUBE("unim-youtube", '\uea1d');
    
    public static UniconsMonochrome findByDescription(String description) {
        for (UniconsMonochrome font : values()) {
            if (font.getDescription().equals(description)) {
                return font;
            }
        }
        throw new IllegalArgumentException("Icon description '" + description + "' is invalid!");
    }

    private String description;
    private int code;

    UniconsMonochrome(String description, int code) {
        this.description = description;
        this.code = code;
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public int getCode() {
        return code;
    }
}